package sort;

import java.util.Arrays;

/**
 * @Author: Yangu
 * @Created time: 2021/1/9 16:22
 * @Description :
 */
public class SelectionSort {

    /**
     * 每次都找到最小的进行交换
     * @param arr
     * @return
     */
    public static Integer[] sort(Integer [] arr) {
        for(int i=0; i<arr.length; i++) {
            int minIndex = i;
            for(int j=i+1; j<arr.length; j++) {
                //每次都和最小的那个索引的值比较，最后才进行交换
                if(arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }
            if(minIndex != i) {
                int temp = arr[minIndex];
                arr[minIndex] = arr[i];
                arr[i] = temp;
            }
        }
        return arr;
    }


    public static void main(String[] args) {
        Integer[] arr = new Integer[]{ 5, 1, 8, 9, 39, 2, 5, 3, 10, 20, 16};
//        System.out.println(Arrays.toString(sort1(arr)));
        System.out.println(Arrays.toString(sort(arr)));
    }
}
